Boutons intelligents
Contrôles/éléments XML

Gérer la collection <ManageCollection>

Ce contrôle peut :

  • Extraire un élément spécifique d’une collection (nombre minimum, nombre maximum, dernier élément, premier élément).

  • Calculez le nombre d’éléments d’une collection ou la moyenne de tous les éléments numériques de la collection (count).

  • Filtrez à partir d’une collection pour n’inclure que les éléments uniques.

Configuration

Vous pouvez configurer ManageCollection dans l’éditeur de boutons intelligents à l’aide du générateur XML Manage Collection ou XML.

Configuration à l’aide du générateur XML de boutons Smartpoint

Pour configurer avec le générateur XML de boutons intelligents :

  1. Ouvrez l’éditeur de boutons intelligents pour créer un script.

  2. Cliquez sur Gérer la collection <ManageCollection> pour afficher l’éditeur de gestion de collection.

  3. Configurez les attributs.

    Ces exemples de collections d’éléments sont utilisés dans les descriptions suivantes :

    • Collection1

      Collecte simple : ABC; 30; 50; 80; 2; ABC; 2; HK90

    • Collection2

      Type de collection Valeur**Clé : IBM**49 ; Mats**80 ; Cola**36 ; Trax**390 ; Mats**7 ; Cola**36

    • Collection3
      Type de collection Valeur**Clé : 2**Lufthansa ; 1**Autrichien ; 0**Aeroflot ; 5**AmericanAirlines

    Attribut

    Description

    Nom de la variable

    Champ obligatoire. Entrez le nom de la variable qui stockera le résultat du contrôle.

    Type d’action

    Cliquez sur la flèche pour sélectionner l’action à effectuer sur la collection.

    Les exemples suivants s’appliquent aux descriptions d’action :

    • Collection1
      Collecte simple : ABC; 30; 50; 80; 2; ABC; 2; HK90

    • Collection2

      Type de collection Valeur**Clé : IBM**49 ; Mats**80 ; Cola**36 ; Trax**390 ; Mats**7 ; Cola**36

    Types d’actions disponibles :

    • Compter
      Renvoie le nombre d’éléments de la collection. Par exemple, Collection1 renvoie un nombre de « 8 ».

    • Dernier
      Renvoie le dernier élément de la collection. Par exemple, Collection1 renvoie « HK90 ».

    • Premier
      Renvoie le premier élément de la collection. Par exemple, Collection1 renvoie « ABC ».

    • Somme
      Renvoie la somme de tous les éléments qui sont des nombres. (Les éléments de texte sont ignorés.) Par exemple, Collection1 renvoie « 164 » (30+50+80+2+2).

    • Maximum
      Renvoie le nombre le plus élevé de la collection. (Les éléments de texte sont ignorés.) Par exemple, Collection1 renvoie « 80 ».

    • Minimum
      Renvoie le nombre le plus élevé de la collection. (Les éléments de texte sont ignorés.) Par exemple, Collection1 renvoie « 2 ».

    • Moyenne
      Renvoie la moyenne de tous les nombres de la collection. (Les éléments de texte sont ignorés.) Par exemple, Collection1 renvoie « 32,8 » ((30+50+80+2+2) :5).

    • Opérer
      Si la collection est de type Key**Value, vous pouvez utiliser uniquement Value ou Key uniquement. Par exemple, pour trouver un nombre maximum, mais uniquement dans la partie Valeur des éléments. Par défaut, l’élément complet est pris en compte.

    Rendre

    En cas de collecte de clés Value**, sélectionnez pour revenir à la variable :

    • ValueKey : tous les éléments de l’agent (ValueKey)

    • Valeur : Valeurs uniquement

    • Clés : Touches uniquement

    Remarque : @Return ne fonctionne que pour les collections de clés Value**. Pour les collections simples, il est ignoré.

    FiltreUnique

    Filtre la collection et renvoie uniquement les éléments uniques. Dans la Collection1 :

    • Les éléments uniques sont : 30 ; 50; 80; 2; ABC; HK90

    • « ABC » et « 2 » s’affichent deux fois dans la collection et sont filtrés.

    Important à retenir !

    Si vous utilisez à la fois @FilterUnique et @ActionType, @FilterUnique s’exécute toujours en premier pour filtrer la collection d’origine. @ActionType s’exécute ensuite sur la collection déjà filtrée. Par exemple:

    Collection : POMMES ; POIRES, KIWI ; POMMES

    Type d’action :Dernier

    +

    FilterUnique :Élément

    =

    Résultat : KIWI

    Une fois la première filtration (@FilterUnique) terminée, le dernier élément, POMMES, est filtré comme dupliqué, et la collecte est remplacée par POMMES ; POIRES, KIWI. Ensuite, ActionType filtre le dernier élément, et le dernier élément de la collection filtrée est KIWI.

Important!

@ActionType ne peut être utilisé avec « Retour » et « Opérateur » que comme indiqué.

Par exemple, ActionType :Last et Return peuvent être utilisés ensemble, mais ActionType :Count et Return ne peuvent pas être utilisés ensemble (@Return est ignoré).

Configuration avec XML

Si vous souhaitez saisir le code XML directement dans l’éditeur de boutons intelligents, utilisez la structure suivante pour l’élément XML.

Copier
<ManageCollection VarName="" ActionType="First" OperateOn="" Return="" FilterUnique="">

Pourboire! Vous pouvez ajouter le code XML directement à l’éditeur en faisant glisser et en déposant le bouton bleu de ce contrôle.

Exemples

Les exemples suivants utilisent l’élément XML ManageCollection dans le script.

Exemple 1

Extrait le nombre le plus bas d’une collection.

La collection est de type Simple et les valeurs sont statiques.

Copier
<ManageCollection VarName="LowestElement" ActionType="Minimum"> 213;10;8788;2902;892;ABC7</ManageCollection>

Étant donné que l’option ActionType-Minimum est sélectionnée, le contrôle renvoie le nombre le plus bas (10) et ignore les éléments qui ne sont pas des nombres. Dans cet exemple, l’élément : ABC7 est du texte, et non un chiffre, car il contient à la fois des lettres et des chiffres.

Exemple 2

Demande le nombre de remarques uniques du bloc-notes dans un fichier de réservation.

Le script suivant crée une collection de toutes les remarques du bloc-notes avec le contrôle GetString , puis filtre les éléments uniques (en premier) et le nombre d’éléments dans collection (2) avec le contrôle ManageCollection.

Copier
<ButtonConf ButtonName="Notepads" Description="" QuickCommand="">
<RunCommand>*NP</RunCommand>
<GetString VarName="AllNotepads"><![CDATA[\d\. (.*) (?:.{2} \d{2}[A-Z]{3} [0-9]{4}Z)]]></GetString>
<ManageCollection VarName="NumberOfUniqueNotepads" ActionType="Count" FilterUnique="Element">[AllNotepads]</ManageCollection>
<ShowMessage>The number of unique notepads in this PNR is: [NumberOfUniqueNotepads]</ShowMessage>
</ButtonConf>

Dans cet exemple, il y a cinq remarques du bloc-notes, mais deux d’entre elles (4 et 5) ont la même valeur. Par conséquent, la dernière remarque (5) est filtrée et le nombre final d’éléments uniques dans la collection est de quatre.

Exemple 3

Lit le nom du client et le solde du client à partir d’un fichier Excel (type de collection Valeur**Clé) et affiche le nom du client avec le « solde client » le plus bas.

Le fichier Excel :

Le script lit le fichier Excel et sélectionne le client dont le solde client est le plus bas :

Copier
<ButtonConf ButtonName="Manage collection" Description="" QuickCommand="">
<ShowMessage>[CustNumAndCustbalance]</ShowMessage>
<ManageCollection VarName="CustomerWithLowestBalance" ActionType="Minimum" OperateOn="Key" Return="Value">[CustNumAndCustbalance]</ManageCollection>
<ShowMessage>[CustomerWithLowestBalance]</ShowMessage>
</ButtonConf>

Tout d’abord, le script lit le fichier Excel avec l’élément XML ReadFromExcel , puis affiche la collection dans une boîte de message avec l’élément XML ShowMessage .

Étant donné qu’il s’agit d’une collection de clés Value**, chaque élément de la collection contient deux parties :

  • Valeur - Nom du client

  • Clé - Solde client.

Ensuite, l’élément ManageCollection détermine l’article sur lequel opérer (@OperateOn). Pour fonctionner uniquement sur le solde client (calculer le solde client minimum), OperateOn="Key » est utilisé. Dans ce contrôle, pour renvoyer le nom du client (valeur) avec le solde le plus bas, au lieu du montant du solde du client, Return="Value » est sélectionné.

Le dernier contrôle est ShowMessage, qui affiche le résultat final : le nom du client avec le solde client le plus bas :